//
// Created by LiuYou on 2021/11/25.
//

#ifndef HTTP_SERVER_REQUESTMESSAGEPARSERESULT_HPP
#define HTTP_SERVER_REQUESTMESSAGEPARSERESULT_HPP


/**
 * @brief 服务器程序处理http请求的可能的结果。注意: 并不是主状态机。
 *
 * @since 0.1
 * @author ly
 * @date 2021-11-25
 */
enum class RequestMessageParseResult : int {
    /** NO_REQUEST, 表示解析的http请求报文不完整, 需要继续由 main线程 读取http请求报文数据。*/
    NO_REQUEST,

    /** 表示获得一个一个完整的http请求, 接下来继续对这个http请求进行解析, 判断是否是文件请求(FILE_REQUEST)。*/
    GET_REQUEST,

    /** 错误的请求。*/
    BAD_REQUEST,

    /** http请求资源没有。*/
    NO_RESOURCE,

    /** 禁止请求该资源。*/
    FORBIDDEN_REQUEST,

    /** 文件请求。*/
    FILE_REQUEST,

    /** 内部错误。*/
    INTERNAL_ERROR,

    /** */
    CLOSED_CONNECTION
};


#endif //HTTP_SERVER_REQUESTMESSAGEPARSERESULT_HPP
